package com.zto.demo.controller;

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.atomic.AtomicInteger;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.zto.demo.model.User;

/**
 * Created with IntelliJ IDEA. Author <a href="mailto:xiaowenke@zto.cn">xwk</a> Date: 2016-09-27
 * Time: 14:51 SpringMVC 学习例子
 */
@RestController
// 定义UserController为Controller
@RequestMapping("/user")
// 映射该Controller的路径为/user
public class UserController {
    
    
    // 由于学习例子 暂未涉及到数据库相关操作，对于增删改查操作全部基于userlist类变量来存储
    private List<User> userlist = new ArrayList<>();

    // 由于学习例子 暂未涉及到数据库相关操作，自增序列使用AtomicInteger代替
    private AtomicInteger seq = new AtomicInteger();

    /**
     * 查询所有用户
     * 
     * @return
     */
    @RequestMapping("/listUser")
    // 映射该方法路径为/listUser
    public List<User> listUser() {
        return userlist;
    }

    /**
     * 增加用户
     * 
     * @param user
     * @return
     */
    @RequestMapping("/addUser")
    // 映射该方法路径为/addUser
    public boolean addUser(User user) {
        user.setKey(seq.addAndGet(1));
        userlist.add(user);
        return true;
    }

}